/*
 * > /*
 >  * INSANE - Interactive Structural Analysis Environment
 >  *
 >  * Copyright (C) 2003-2004
 >  * Universidade Federal de Minas Gerais
 >  * Escola de Engenharia
 >  * Departamento de Engenharia de Estruturas
 >  *
 >  * Author's email :     insane@dees.ufmg.br
 >  * Author's Website :   http://www.dees.ufmg.br/insane
 >  *
 >  * This program is free software; you can redistribute it and/or
 >  * modify it under the terms of the GNU General Public License
 >  * as published by the Free Software Foundation; either version 2
 >  * of the License, or any later version.
 >  *
 >  * This program is distributed in the hope that it will be useful,
 >  * but WITHOUT ANY WARRANTY; without even the implied warranty of
 >  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 >  * GNU General Public License for more details.
 >  *
 >  * You should have received a copy of the GNU General Public License
 >  * along with this program; if not, write to the Free Software
 >  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-
 > 1307, USA.
 *
 */

package br.ufmg.dees.insane.commons.view;

import java.awt.Color;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Rectangle;
import java.awt.Toolkit;
import java.net.URL;

import javax.swing.JComponent;

/**
 * An Image component providing a method subscription.
 * 
 * @author Fonseca, Flavio & Pitangueira, Roque
 * @since January 2004
 */
public class ImageDA extends JComponent {

    /**
     * Comment for <code>serialVersionUID</code>
     */
    private static final long serialVersionUID = 1L;

    /** The image to show */
    Image image;

    // *****************************************************************************

    /** The constructor method getting URL */
    public ImageDA(URL url) {
        image = Toolkit.getDefaultToolkit().getImage(url);
    }

    // *****************************************************************************

    /** The constructor method getting a string */
    public ImageDA(String s) {
        image = Toolkit.getDefaultToolkit().getImage(s);
    }

    // *****************************************************************************

    /**
     * Draws the image
     * 
     * @param g
     *            the graphic element.
     */
    public void paintComponent(Graphics g) {
        Rectangle me = new Rectangle();
        me = this.getBounds();
        Rectangle img = new Rectangle();
        img.width = image.getWidth(this);
        img.height = image.getHeight(this);
        g.setColor(Color.white);
        g.fillRect(me.x - 4, me.y - 4, me.width + 8, me.height + 8);
        g.drawImage(image, me.width / 2 - img.width / 2, me.height / 2
                - img.height / 2, this);
    }

    // *****************************************************************************

}